// Copyright (c) 2010-2014 SharpDX - Alexandre Mutel
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

//------------------------------------------------------------------------------
// <auto-generated>
//     Types declaration for SharpDX.MediaFoundation.DirectX namespace.
//     This code was generated by a tool.
//     Date : 6/17/2016 5:56:05 PM
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
#if DESKTOP_APP
namespace SharpDX.MediaFoundation.DirectX {

#pragma warning disable 419
#pragma warning disable 1587
#pragma warning disable 1574
    
    /// <summary>	
    /// <p>Specifies how the output alpha values are calculated for Microsoft DirectX Video Acceleration High Definition (DXVA-HD) blit operations.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The <strong>Mode</strong> member of the <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitStateAlphaFillData"/></strong> structure has this enumeration type. That member specifies the alpha-fill mode for the input stream identified by the <strong>StreamNumber</strong> member of the same structure. To set the alpha-fill mode, call  <strong><see cref="SharpDX.MediaFoundation.DirectX.HDVideoProcessor.SetVideoProcessBltState"/></strong>.</p><p>To find out which modes the device supports, call the <strong><see cref="SharpDX.MediaFoundation.DirectX.HDDevice.GetVideoProcessorDeviceCaps"/></strong> method. If the device sets the <strong><see cref="SharpDX.MediaFoundation.DirectX.FeatureCaps.AlphaFill"/></strong> flag in the <strong>FeatureCaps</strong> member of the <strong><see cref="SharpDX.MediaFoundation.DirectX.Vpdevcaps"/></strong> structure, the DXVA-HD device supports any of the modes listed here. Otherwise, the alpha-fill mode must be <strong><see cref="SharpDX.MediaFoundation.DirectX.AlphaFillMode.Opaque"/></strong>.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ALPHA_FILL_MODE']/*"/>	
    /// <msdn-id>dd318388</msdn-id>	
    /// <unmanaged>DXVAHD_ALPHA_FILL_MODE</unmanaged>	
    /// <unmanaged-short>DXVAHD_ALPHA_FILL_MODE</unmanaged-short>	
    public enum AlphaFillMode : int {	
        
        /// <summary>	
        /// <dd> <p>Alpha values inside the target rectangle are set to opaque.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ALPHA_FILL_MODE_OPAQUE']/*"/>	
        /// <msdn-id>dd318388</msdn-id>	
        /// <unmanaged>DXVAHD_ALPHA_FILL_MODE_OPAQUE</unmanaged>	
        /// <unmanaged-short>DXVAHD_ALPHA_FILL_MODE_OPAQUE</unmanaged-short>	
        Opaque = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>Alpha values inside the target rectangle are set to the alpha value specified in the background color. See <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitState.BackgroundColor"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ALPHA_FILL_MODE_BACKGROUND']/*"/>	
        /// <msdn-id>dd318388</msdn-id>	
        /// <unmanaged>DXVAHD_ALPHA_FILL_MODE_BACKGROUND</unmanaged>	
        /// <unmanaged-short>DXVAHD_ALPHA_FILL_MODE_BACKGROUND</unmanaged-short>	
        Background = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>Existing alpha values remain unchanged in the output surface.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ALPHA_FILL_MODE_DESTINATION']/*"/>	
        /// <msdn-id>dd318388</msdn-id>	
        /// <unmanaged>DXVAHD_ALPHA_FILL_MODE_DESTINATION</unmanaged>	
        /// <unmanaged-short>DXVAHD_ALPHA_FILL_MODE_DESTINATION</unmanaged-short>	
        Destination = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>Alpha values from the input stream  are scaled and copied to the corresponding destination rectangle for that stream. If the input stream does not have alpha data, the DXVA-HD device sets the alpha values in the target rectangle to an opaque value. If the input stream is disabled or the source rectangle is empty, the alpha values in the target rectangle are not modified.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM']/*"/>	
        /// <msdn-id>dd318388</msdn-id>	
        /// <unmanaged>DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM</unmanaged>	
        /// <unmanaged-short>DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM</unmanaged-short>	
        SourceStream = unchecked((int)3),			
    }
    
    /// <summary>	
    /// <p>Specifies state parameters for blit operations when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).</p><p>To set a state parameter, call the <strong><see cref="SharpDX.MediaFoundation.DirectX.HDVideoProcessor.SetVideoProcessBltState"/></strong> method. This method takes a <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitState"/></strong> value and a byte array as input.  The byte array contains state data, the structure of which is defined by the <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitState"/></strong> value.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE']/*"/>	
    /// <msdn-id>dd318389</msdn-id>	
    /// <unmanaged>DXVAHD_BLT_STATE</unmanaged>	
    /// <unmanaged-short>DXVAHD_BLT_STATE</unmanaged-short>	
    public enum BlitState : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_TARGET_RECT']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_TARGET_RECT</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_TARGET_RECT</unmanaged-short>	
        TargetRectangle = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_BACKGROUND_COLOR']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_BACKGROUND_COLOR</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_BACKGROUND_COLOR</unmanaged-short>	
        BackgroundColor = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE</unmanaged-short>	
        OutputColorSpace = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_ALPHA_FILL']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_ALPHA_FILL</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_ALPHA_FILL</unmanaged-short>	
        AlphaFill = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_CONSTRICTION']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_CONSTRICTION</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_CONSTRICTION</unmanaged-short>	
        Constriction = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_BLT_STATE_PRIVATE']/*"/>	
        /// <msdn-id>dd318389</msdn-id>	
        /// <unmanaged>DXVAHD_BLT_STATE_PRIVATE</unmanaged>	
        /// <unmanaged-short>DXVAHD_BLT_STATE_PRIVATE</unmanaged-short>	
        Private = unchecked((int)1000),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0012']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0012</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0012</unmanaged-short>	
    public enum CompressedBufferType : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_PictureParametersBufferType']/*"/>	
        /// <unmanaged>DXVA2_PictureParametersBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_PictureParametersBufferType</unmanaged-short>	
        PictureParameters = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_MacroBlockControlBufferType']/*"/>	
        /// <unmanaged>DXVA2_MacroBlockControlBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_MacroBlockControlBufferType</unmanaged-short>	
        MacroBlockControl = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ResidualDifferenceBufferType']/*"/>	
        /// <unmanaged>DXVA2_ResidualDifferenceBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_ResidualDifferenceBufferType</unmanaged-short>	
        ResidualDifference = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeblockingControlBufferType']/*"/>	
        /// <unmanaged>DXVA2_DeblockingControlBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_DeblockingControlBufferType</unmanaged-short>	
        DeblockingControl = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_InverseQuantizationMatrixBufferType']/*"/>	
        /// <unmanaged>DXVA2_InverseQuantizationMatrixBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_InverseQuantizationMatrixBufferType</unmanaged-short>	
        InverseQuantizationMatrix = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SliceControlBufferType']/*"/>	
        /// <unmanaged>DXVA2_SliceControlBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_SliceControlBufferType</unmanaged-short>	
        SliceControl = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_BitStreamDateBufferType']/*"/>	
        /// <unmanaged>DXVA2_BitStreamDateBufferType</unmanaged>	
        /// <unmanaged-short>DXVA2_BitStreamDateBufferType</unmanaged-short>	
        BitStreamDate = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_MotionVectorBuffer']/*"/>	
        /// <unmanaged>DXVA2_MotionVectorBuffer</unmanaged>	
        /// <unmanaged-short>DXVA2_MotionVectorBuffer</unmanaged-short>	
        Dxva2MotionVectorBuffer = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_FilmGrainBuffer']/*"/>	
        /// <unmanaged>DXVA2_FilmGrainBuffer</unmanaged>	
        /// <unmanaged-short>DXVA2_FilmGrainBuffer</unmanaged-short>	
        Dxva2FilmGrainBuffer = unchecked((int)8),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0003']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0003</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0003</unmanaged-short>	
    public enum DeinterlaceTechnology : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_Unknown']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_Unknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_BOBLineReplicate']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_BOBLineReplicate</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_BOBLineReplicate</unmanaged-short>	
        BOBLineReplicate = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_BOBVerticalStretch']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_BOBVerticalStretch</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_BOBVerticalStretch</unmanaged-short>	
        BOBVerticalStretch = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap</unmanaged-short>	
        BOBVerticalStretch4Tap = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_MedianFiltering']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_MedianFiltering</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_MedianFiltering</unmanaged-short>	
        MedianFiltering = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_EdgeFiltering']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_EdgeFiltering</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_EdgeFiltering</unmanaged-short>	
        EdgeFiltering = unchecked((int)16),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_FieldAdaptive']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_FieldAdaptive</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_FieldAdaptive</unmanaged-short>	
        FieldAdaptive = unchecked((int)32),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_PixelAdaptive']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_PixelAdaptive</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_PixelAdaptive</unmanaged-short>	
        PixelAdaptive = unchecked((int)64),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_MotionVectorSteered']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_MotionVectorSteered</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_MotionVectorSteered</unmanaged-short>	
        MotionVectorSteered = unchecked((int)128),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DeinterlaceTech_InverseTelecine']/*"/>	
        /// <unmanaged>DXVA2_DeinterlaceTech_InverseTelecine</unmanaged>	
        /// <unmanaged-short>DXVA2_DeinterlaceTech_InverseTelecine</unmanaged-short>	
        InverseTelecine = unchecked((int)256),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0006']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0006</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0006</unmanaged-short>	
    public enum DetailFilterTechnology : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterTech_Unsupported']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterTech_Unsupported</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterTech_Unsupported</unmanaged-short>	
        DetailTechUnsupported = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterTech_Unknown']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterTech_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterTech_Unknown</unmanaged-short>	
        DetailTechUnknown = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterTech_Edge']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterTech_Edge</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterTech_Edge</unmanaged-short>	
        DetailTechEdge = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterTech_Sharpening']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterTech_Sharpening</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterTech_Sharpening</unmanaged-short>	
        DetailTechSharpening = unchecked((int)4),			
    }
    
    /// <summary>	
    /// <p>Defines video processing capabilities for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_CAPS']/*"/>	
    /// <msdn-id>dd318415</msdn-id>	
    /// <unmanaged>DXVAHD_DEVICE_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_DEVICE_CAPS</unmanaged-short>	
    public enum DeviceCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The device can blend video content in linear color space. Most video content is gamma corrected, resulting in nonlinear values. If the DXVA-HD device sets this flag, it means the device converts colors to linear space before blending, which produces better results.	
        /// </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_CAPS_LINEAR_SPACE']/*"/>	
        /// <msdn-id>dd318415</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_CAPS_LINEAR_SPACE</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_CAPS_LINEAR_SPACE</unmanaged-short>	
        LinearSpace = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The device supports the xvYCC color space for YCbCr data.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_CAPS_xvYCC']/*"/>	
        /// <msdn-id>dd318415</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_CAPS_xvYCC</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_CAPS_xvYCC</unmanaged-short>	
        XvYCC = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The device can perform range conversion when the input and output are both RGB but use different color ranges (0-255 or 16-235, for 8-bit RGB).</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION']/*"/>	
        /// <msdn-id>dd318415</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION</unmanaged-short>	
        RgbRangeConversion = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The device can apply a matrix conversion to YCbCr values when the input and output are both YCbCr. For example, the driver can convert colors from BT.601 to BT.709.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION']/*"/>	
        /// <msdn-id>dd318415</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION</unmanaged-short>	
        YCbCrMatrixConversion = unchecked((int)8),			
    }
    
    /// <summary>	
    /// <p>Specifies the type of Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_TYPE']/*"/>	
    /// <msdn-id>dd318417</msdn-id>	
    /// <unmanaged>DXVAHD_DEVICE_TYPE</unmanaged>	
    /// <unmanaged-short>DXVAHD_DEVICE_TYPE</unmanaged-short>	
    public enum DeviceType : int {	
        
        /// <summary>	
        /// <dd> <p>Hardware device. Video processing is performed in the GPU by the driver.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_TYPE_HARDWARE']/*"/>	
        /// <msdn-id>dd318417</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_TYPE_HARDWARE</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_TYPE_HARDWARE</unmanaged-short>	
        Hardware = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>Software device. Video processing is performed in the CPU by a software plug-in.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_TYPE_SOFTWARE']/*"/>	
        /// <msdn-id>dd318417</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_TYPE_SOFTWARE</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_TYPE_SOFTWARE</unmanaged-short>	
        Software = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>Reference device. Video processing is performed in the CPU by a software plug-in.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_TYPE_REFERENCE']/*"/>	
        /// <msdn-id>dd318417</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_TYPE_REFERENCE</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_TYPE_REFERENCE</unmanaged-short>	
        Reference = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>Other. The device is neither a hardware device nor a software plug-in.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_TYPE_OTHER']/*"/>	
        /// <msdn-id>dd318417</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_TYPE_OTHER</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_TYPE_OTHER</unmanaged-short>	
        Other = unchecked((int)3),			
    }
    
    /// <summary>	
    /// <p>Specifies the intended use for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The graphics driver uses one of these enumeration constants as a hint when it creates the DXVA-HD device.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_USAGE']/*"/>	
    /// <msdn-id>dd318420</msdn-id>	
    /// <unmanaged>DXVAHD_DEVICE_USAGE</unmanaged>	
    /// <unmanaged-short>DXVAHD_DEVICE_USAGE</unmanaged-short>	
    public enum DeviceUsage : int {	
        
        /// <summary>	
        /// <dd> <p>Normal video playback. The graphics driver should expose a set of capabilities that are appropriate for real-time video playback.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL']/*"/>	
        /// <msdn-id>dd318420</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL</unmanaged-short>	
        PlaybackNormal = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>Optimal speed.  The graphics driver should expose a minimal set of capabilities that are optimized for performance.</p> <p>Use this setting if you want better performance and can accept some reduction in video quality. For example, you might use this setting in power-saving mode or to play video thumbnails.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED']/*"/>	
        /// <msdn-id>dd318420</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED</unmanaged-short>	
        OptimalSpeed = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>Optimal quality. The grahics driver should expose its maximum set of capabilities.</p> <p>Specify this setting to get the best video quality possible. It is appropriate for tasks such as video editing, when quality is more important than speed. It is not appropriate for real-time playback.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY']/*"/>	
        /// <msdn-id>dd318420</msdn-id>	
        /// <unmanaged>DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY</unmanaged>	
        /// <unmanaged-short>DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY</unmanaged-short>	
        OptimalQuality = unchecked((int)2),			
    }
    
    /// <summary>	
    /// <p>Defines features that a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device can support.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FEATURE_CAPS']/*"/>	
    /// <msdn-id>dd318422</msdn-id>	
    /// <unmanaged>DXVAHD_FEATURE_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_FEATURE_CAPS</unmanaged-short>	
    public enum FeatureCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The device can set the alpha values on the video output. See <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitStateAlphaFillData"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FEATURE_CAPS_ALPHA_FILL']/*"/>	
        /// <msdn-id>dd318422</msdn-id>	
        /// <unmanaged>DXVAHD_FEATURE_CAPS_ALPHA_FILL</unmanaged>	
        /// <unmanaged-short>DXVAHD_FEATURE_CAPS_ALPHA_FILL</unmanaged-short>	
        AlphaFill = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The device can downsample the video output. See <strong><see cref="SharpDX.MediaFoundation.DirectX.BlitStateConstrictionData"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FEATURE_CAPS_CONSTRICTION']/*"/>	
        /// <msdn-id>dd318422</msdn-id>	
        /// <unmanaged>DXVAHD_FEATURE_CAPS_CONSTRICTION</unmanaged>	
        /// <unmanaged-short>DXVAHD_FEATURE_CAPS_CONSTRICTION</unmanaged-short>	
        Constriction = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The device can perform luma keying. See <strong><see cref="SharpDX.MediaFoundation.DirectX.StreamStateLumaKeyData"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FEATURE_CAPS_LUMA_KEY']/*"/>	
        /// <msdn-id>dd318422</msdn-id>	
        /// <unmanaged>DXVAHD_FEATURE_CAPS_LUMA_KEY</unmanaged>	
        /// <unmanaged-short>DXVAHD_FEATURE_CAPS_LUMA_KEY</unmanaged-short>	
        LumaKey = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The device can apply alpha values from color palette entries. See <strong><see cref="SharpDX.MediaFoundation.DirectX.StreamStateAlphaData"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FEATURE_CAPS_ALPHA_PALETTE']/*"/>	
        /// <msdn-id>dd318422</msdn-id>	
        /// <unmanaged>DXVAHD_FEATURE_CAPS_ALPHA_PALETTE</unmanaged>	
        /// <unmanaged-short>DXVAHD_FEATURE_CAPS_ALPHA_PALETTE</unmanaged-short>	
        AlphaPalette = unchecked((int)8),			
    }
    
    /// <summary>	
    /// <p>Defines the range of supported values for an image filter.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The multiplier enables the filter range to have a fractional step value.</p><p>For example, a hue filter might have an actual range of [-180.0 ... +180.0] with a step size of 0.25. The device would report the following range and multiplier:</p><ul> <li>Minimum: -720</li> <li>Maximum: +720</li> <li>Multiplier: 0.25</li> </ul><p>In this case,  a filter value of 2 would be interpreted by the device as 0.50 (or 2 ? 0.25).</p><p>The device should use  a multiplier that can be represented exactly as a base-2 fraction.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER']/*"/>	
    /// <msdn-id>dd318428</msdn-id>	
    /// <unmanaged>DXVAHD_FILTER</unmanaged>	
    /// <unmanaged-short>DXVAHD_FILTER</unmanaged-short>	
    public enum Filter : int {	
        
        /// <summary>	
        /// <dd> <p>The minimum value of the filter.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_BRIGHTNESS']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_BRIGHTNESS</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_BRIGHTNESS</unmanaged-short>	
        Brightness = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>The maximum value of the filter.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CONTRAST']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CONTRAST</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CONTRAST</unmanaged-short>	
        Contrast = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The default value of the filter.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_HUE']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_HUE</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_HUE</unmanaged-short>	
        Hue = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>A multiplier. Use the following formula to translate the filter setting into the actual filter value: <em>Actual Value</em> = <em>Set Value</em>???<em>Multiplier</em>.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_SATURATION']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_SATURATION</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_SATURATION</unmanaged-short>	
        Saturation = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_NOISE_REDUCTION']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_NOISE_REDUCTION</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_NOISE_REDUCTION</unmanaged-short>	
        NoiseReduction = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_EDGE_ENHANCEMENT']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_EDGE_ENHANCEMENT</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_EDGE_ENHANCEMENT</unmanaged-short>	
        EdgeEnhancement = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_ANAMORPHIC_SCALING']/*"/>	
        /// <msdn-id>dd318428</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_ANAMORPHIC_SCALING</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_ANAMORPHIC_SCALING</unmanaged-short>	
        AnamorphicScaling = unchecked((int)6),			
    }
    
    /// <summary>	
    /// <p>Defines capabilities related to image adjustment and filtering for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS']/*"/>	
    /// <msdn-id>dd318426</msdn-id>	
    /// <unmanaged>DXVAHD_FILTER_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_FILTER_CAPS</unmanaged-short>	
    public enum FilterCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The device can adjust the brightness level.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_BRIGHTNESS']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_BRIGHTNESS</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_BRIGHTNESS</unmanaged-short>	
        Brightness = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The device can adjust the contrast level.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_CONTRAST']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_CONTRAST</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_CONTRAST</unmanaged-short>	
        Contrast = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The device can adjust hue.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_HUE']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_HUE</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_HUE</unmanaged-short>	
        Hue = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The device can adjust the saturation level.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_SATURATION']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_SATURATION</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_SATURATION</unmanaged-short>	
        Saturation = unchecked((int)8),			
        
        /// <summary>	
        /// <dd> <p>The device can perform noise reduction.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_NOISE_REDUCTION']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_NOISE_REDUCTION</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_NOISE_REDUCTION</unmanaged-short>	
        NoiseReduction = unchecked((int)16),			
        
        /// <summary>	
        /// <dd> <p>The device can perform edge enhancement.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT</unmanaged-short>	
        EdgeEnhancement = unchecked((int)32),			
        
        /// <summary>	
        /// <dd> <p>The device can perform <em>anamorphic scaling</em>. Anamorphic scaling can be used to stretch 4:3 content to a widescreen 16:9 aspect ratio.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING']/*"/>	
        /// <msdn-id>dd318426</msdn-id>	
        /// <unmanaged>DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING</unmanaged>	
        /// <unmanaged-short>DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING</unmanaged-short>	
        AnamorphicScaling = unchecked((int)64),			
    }
    
    /// <summary>	
    /// <p>Describes how a video stream is interlaced.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FRAME_FORMAT']/*"/>	
    /// <msdn-id>dd318431</msdn-id>	
    /// <unmanaged>DXVAHD_FRAME_FORMAT</unmanaged>	
    /// <unmanaged-short>DXVAHD_FRAME_FORMAT</unmanaged-short>	
    public enum FrameFormat : int {	
        
        /// <summary>	
        /// <dd> <p>Frames are progressive.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FRAME_FORMAT_PROGRESSIVE']/*"/>	
        /// <msdn-id>dd318431</msdn-id>	
        /// <unmanaged>DXVAHD_FRAME_FORMAT_PROGRESSIVE</unmanaged>	
        /// <unmanaged-short>DXVAHD_FRAME_FORMAT_PROGRESSIVE</unmanaged-short>	
        Progressive = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>Frames are interlaced. The top field of each frame is displayed first.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST']/*"/>	
        /// <msdn-id>dd318431</msdn-id>	
        /// <unmanaged>DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST</unmanaged>	
        /// <unmanaged-short>DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST</unmanaged-short>	
        InterlacedTopFieldFirst = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>Frame are interlaced. The bottom field of each frame is displayed first.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST']/*"/>	
        /// <msdn-id>dd318431</msdn-id>	
        /// <unmanaged>DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST</unmanaged>	
        /// <unmanaged-short>DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST</unmanaged-short>	
        InterlacedBottomFieldFirst = unchecked((int)2),			
    }
    
    /// <summary>	
    /// <p>Defines capabilities related to input formats for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>These flags define video processing capabilities that are usually not needed, and therefore are not required for DXVA-HD devices to support.</p><p>The first three flags relate to RGB support for functions that are normally applied to YCbCr video: deinterlacing, color adjustment, and luma keying. A DXVA-HD device that supports these functions for YCbCr is not required  to support them for RGB input. Supporting RGB input for these functions  is  an additional capability, reflected by these constants. The driver might convert the input to another color space, perform the indicated function, and then convert the result back to RGB.</p><p>Similarly, a device that supports de-interlacing is not required to support deinterlacing of palettized formats. This capability is indicated by the <strong><see cref="SharpDX.MediaFoundation.DirectX.InputFormatCaps.PaletteInterlaced"/></strong> flag.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_INPUT_FORMAT_CAPS']/*"/>	
    /// <msdn-id>dd318433</msdn-id>	
    /// <unmanaged>DXVAHD_INPUT_FORMAT_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_INPUT_FORMAT_CAPS</unmanaged-short>	
    public enum InputFormatCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The device can deinterlace an input stream that contains interlaced RGB video.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED']/*"/>	
        /// <msdn-id>dd318433</msdn-id>	
        /// <unmanaged>DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED</unmanaged>	
        /// <unmanaged-short>DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED</unmanaged-short>	
        RgbInterlaced = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The device can perform color adjustment on RGB video.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP']/*"/>	
        /// <msdn-id>dd318433</msdn-id>	
        /// <unmanaged>DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP</unmanaged>	
        /// <unmanaged-short>DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP</unmanaged-short>	
        RgbProcamp = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The device can perform luma keying on RGB video.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY']/*"/>	
        /// <msdn-id>dd318433</msdn-id>	
        /// <unmanaged>DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY</unmanaged>	
        /// <unmanaged-short>DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY</unmanaged-short>	
        RgbLumaKey = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The device can deinterlace input streams with palettized color formats.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED']/*"/>	
        /// <msdn-id>dd318433</msdn-id>	
        /// <unmanaged>DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED</unmanaged>	
        /// <unmanaged-short>DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED</unmanaged-short>	
        PaletteInterlaced = unchecked((int)8),			
    }
    
    /// <summary>	
    /// <p>Specifies the inverse telecine (IVTC) capabilities of a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS']/*"/>	
    /// <msdn-id>dd318435</msdn-id>	
    /// <unmanaged>DXVAHD_ITELECINE_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_ITELECINE_CAPS</unmanaged-short>	
    public enum ItelecineCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 3:2 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_32']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_32</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_32</unmanaged-short>	
        Reverse32 = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 2:2 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_22']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_22</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_22</unmanaged-short>	
        Reverse22 = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 2:2:2:4 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_2224']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_2224</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_2224</unmanaged-short>	
        Reverse2224 = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 2:3:3:2 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_2332']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_2332</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_2332</unmanaged-short>	
        Reverse2332 = unchecked((int)8),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 3:2:3:2:2 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_32322']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_32322</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_32322</unmanaged-short>	
        Reverse32322 = unchecked((int)16),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 5:5 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_55']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_55</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_55</unmanaged-short>	
        Reverse55 = unchecked((int)32),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 6:4 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_64']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_64</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_64</unmanaged-short>	
        Reverse64 = unchecked((int)64),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 8:7 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_87']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_87</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_87</unmanaged-short>	
        Reverse87 = unchecked((int)128),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_222222222223']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_222222222223</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_222222222223</unmanaged-short>	
        Reverse222222222223 = unchecked((int)256),			
        
        /// <summary>	
        /// <dd> <p>The video processor can reverse other telecine modes not listed here.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_ITELECINE_CAPS_OTHER']/*"/>	
        /// <msdn-id>dd318435</msdn-id>	
        /// <unmanaged>DXVAHD_ITELECINE_CAPS_OTHER</unmanaged>	
        /// <unmanaged-short>DXVAHD_ITELECINE_CAPS_OTHER</unmanaged-short>	
        ReverseOTHER = unchecked((int)-2147483648),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0004']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0004</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0004</unmanaged-short>	
    public enum NoiseDetailFilter : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterLumaLevel']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterLumaLevel</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterLumaLevel</unmanaged-short>	
        NoiseLumaLevel = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterLumaThreshold']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterLumaThreshold</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterLumaThreshold</unmanaged-short>	
        NoiseLumaThreshold = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterLumaRadius']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterLumaRadius</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterLumaRadius</unmanaged-short>	
        NoiseLumaRadius = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterChromaLevel']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterChromaLevel</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterChromaLevel</unmanaged-short>	
        NoiseChromaLevel = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterChromaThreshold']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterChromaThreshold</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterChromaThreshold</unmanaged-short>	
        NoiseChromaThreshold = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterChromaRadius']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterChromaRadius</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterChromaRadius</unmanaged-short>	
        NoiseChromaRadius = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterLumaLevel']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterLumaLevel</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterLumaLevel</unmanaged-short>	
        DetailLumaLevel = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterLumaThreshold']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterLumaThreshold</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterLumaThreshold</unmanaged-short>	
        DetailLumaThreshold = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterLumaRadius']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterLumaRadius</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterLumaRadius</unmanaged-short>	
        DetailLumaRadius = unchecked((int)9),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterChromaLevel']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterChromaLevel</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterChromaLevel</unmanaged-short>	
        DetailChromaLevel = unchecked((int)10),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterChromaThreshold']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterChromaThreshold</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterChromaThreshold</unmanaged-short>	
        DetailChromaThreshold = unchecked((int)11),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_DetailFilterChromaRadius']/*"/>	
        /// <unmanaged>DXVA2_DetailFilterChromaRadius</unmanaged>	
        /// <unmanaged-short>DXVA2_DetailFilterChromaRadius</unmanaged-short>	
        DetailChromaRadius = unchecked((int)12),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0005']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0005</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0005</unmanaged-short>	
    public enum NoiseFilterTechnology : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_Unsupported']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_Unsupported</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_Unsupported</unmanaged-short>	
        Unsupported = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_Unknown']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_Unknown</unmanaged-short>	
        Unknown = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_Median']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_Median</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_Median</unmanaged-short>	
        Median = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_Temporal']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_Temporal</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_Temporal</unmanaged-short>	
        Temporal = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_BlockNoise']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_BlockNoise</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_BlockNoise</unmanaged-short>	
        BlockNoise = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NoiseFilterTech_MosquitoNoise']/*"/>	
        /// <unmanaged>DXVA2_NoiseFilterTech_MosquitoNoise</unmanaged>	
        /// <unmanaged-short>DXVA2_NoiseFilterTech_MosquitoNoise</unmanaged-short>	
        MosquitoNoise = unchecked((int)16),			
    }
    
    /// <summary>	
    /// <p>Describes how to map color data to a normalized [0...1] range. </p><p>These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure. They indicate whether the range of color values includes headroom (values above 100% white) and toeroom (values below reference black). </p>	
    /// </summary>	
    /// <remarks>	
    /// <p>For YUV colors, these flags specify how to convert between Y'CbCr and Y'PbPr. The Y'PbPr color space has a range of [0..1] for Y' (luma) and [-0.5...0.5] for Pb/Pr (chroma).</p><table> <tr><th>Value</th><th>Description</th></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range0_255"/></td><td>Should not be used for YUV data.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range16_235"/></td><td> <p>For 8-bit Y'CbCr components:</p> <ul> <li> <p>Y' range of [0...1] maps to [16..235] for 8-bit Y' values.</p> </li> <li> <p>Pb/Pr ranges of [-0.5...0.5] map to [16...240] for 8-bit Cb/Cr values.</p> </li> </ul> <p>For samples with <em>n</em> bits of precision, the general equations are:</p> <ul> <li> <p> Y' = (Y' * 219 + 16) * 2 ^ (n-8) </p> </li> <li> <p> Cb = (Pb * 224 + 128) * 2 ^ (n-8) </p> </li> <li> <p> Cr = (Pr * 224 + 128) * 2 ^ (n-8) </p> </li> </ul> <p>The inverse equations to convert from Y'CbCr to Y'PbPr are:</p> <ul> <li> <p> Y' = (Y' / 2 ^ (n-8) - 16) / 219 </p> </li> <li> <p> Pb = (Cb / 2 ^ (n-8) - 128) / 224 </p> </li> <li> <p> Pr = (Cr / 2 ^ (n-8) - 128) / 224 </p> </li> </ul> </td></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range48_208"/></td><td>For 8-bit Y'CbCr values, Y' range of [0..1] maps to [48...208].</td></tr> </table><p>?</p><p>For RGB colors, the flags differentiate various RGB spaces.</p><table> <tr><th>Value</th><th>Description</th></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range0_255"/></td><td>sRGB</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range16_235"/></td><td>Studio RGB; ITU-R BT.709</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range48_208"/></td><td>ITU-R BT.1361 RGB</td></tr> </table><p>?</p><p>Video data might contain values above or below the nominal range.</p><p><strong>Note</strong>??The values named  <see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Normal"/> and <see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Wide"/> are a potential source of confusion. <em>Wide</em> refers to the possible range of <em>analog</em> values that can be represented, by mapping the nominal range [0...1] into a narrower range of <em>digital</em> values. Because the meaning of <em>wide</em> in this context is ambiguous, the equivalent values named <see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range0_255"/> and <see cref="SharpDX.MediaFoundation.DirectX.NominalRange.Range16_235"/> are preferred. These names explicitly convey the meaning of the enumeration, and are less likely to be misinterpreted.</p><p>This enumeration is equivalent to the <strong>DXVA_NominalRange</strong> enumeration used in DXVA 1.0, although it defines additional values.</p><p>If you are using the <strong><see cref="SharpDX.MediaFoundation.MediaType"/></strong> interface to describe the video format, the nominal range is specified in the <strong><see cref="SharpDX.MediaFoundation.MediaTypeAttributeKeys.VideoNominalRange"/></strong> attribute.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange']/*"/>	
    /// <msdn-id>bb970561</msdn-id>	
    /// <unmanaged>DXVA2_NominalRange</unmanaged>	
    /// <unmanaged-short>DXVA2_NominalRange</unmanaged-short>	
    public enum NominalRange : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRangeMask']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRangeMask</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRangeMask</unmanaged-short>	
        Mask = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_Unknown']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_Unknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_Normal']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_Normal</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_Normal</unmanaged-short>	
        Normal = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_Wide']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_Wide</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_Wide</unmanaged-short>	
        Wide = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_0_255']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_0_255</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_0_255</unmanaged-short>	
        Range0_255 = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_16_235']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_16_235</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_16_235</unmanaged-short>	
        Range16_235 = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_NominalRange_48_208']/*"/>	
        /// <msdn-id>bb970561</msdn-id>	
        /// <unmanaged>DXVA2_NominalRange_48_208</unmanaged>	
        /// <unmanaged-short>DXVA2_NominalRange_48_208</unmanaged-short>	
        Range48_208 = unchecked((int)3),			
    }
    
    /// <summary>	
    /// <p>Specifies the output frame rates for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).</p><p>This enumeration type is used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.StreamStateOutputRateData"/></strong> structure.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_OUTPUT_RATE']/*"/>	
    /// <msdn-id>dd318437</msdn-id>	
    /// <unmanaged>DXVAHD_OUTPUT_RATE</unmanaged>	
    /// <unmanaged-short>DXVAHD_OUTPUT_RATE</unmanaged-short>	
    public enum OutputRate : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_OUTPUT_RATE_NORMAL']/*"/>	
        /// <msdn-id>dd318437</msdn-id>	
        /// <unmanaged>DXVAHD_OUTPUT_RATE_NORMAL</unmanaged>	
        /// <unmanaged-short>DXVAHD_OUTPUT_RATE_NORMAL</unmanaged-short>	
        Normal = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_OUTPUT_RATE_HALF']/*"/>	
        /// <msdn-id>dd318437</msdn-id>	
        /// <unmanaged>DXVAHD_OUTPUT_RATE_HALF</unmanaged>	
        /// <unmanaged-short>DXVAHD_OUTPUT_RATE_HALF</unmanaged-short>	
        Half = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_OUTPUT_RATE_CUSTOM']/*"/>	
        /// <msdn-id>dd318437</msdn-id>	
        /// <unmanaged>DXVAHD_OUTPUT_RATE_CUSTOM</unmanaged>	
        /// <unmanaged-short>DXVAHD_OUTPUT_RATE_CUSTOM</unmanaged-short>	
        Custom = unchecked((int)2),			
    }
    
    /// <summary>	
    /// <p>Specifies the processing capabilities of a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS']/*"/>	
    /// <msdn-id>dd318439</msdn-id>	
    /// <unmanaged>DXVAHD_PROCESSOR_CAPS</unmanaged>	
    /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS</unmanaged-short>	
    public enum ProcessorCaps : int {	
        
        /// <summary>	
        /// <dd> <p>The video processor can perform blend deinterlacing.</p> <p> In <em>blend deinterlacing</em>, the two fields from an interlaced frame are blended into a single progressive frame. A video processor uses blend deinterlacing when it deinterlaces at half rate, as when converting 60i to 30p. Blend deinterlacing does not require reference frames.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND</unmanaged-short>	
        DeinterlaceBlend = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The video processor can perform bob deinterlacing. </p> <p>In <em>bob deinterlacing</em>, missing field lines are interpolated from the lines above and below. Bob deinterlacing does not require reference frames.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB</unmanaged-short>	
        DeinterlaceBob = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p>The video processor can perform adaptive deinterlacing.</p> <p><em>Adaptive deinterlacing</em> uses spatial or temporal interpolation, and switches between the two on a field-by-field basis, depending on the amount of motion. If the video processor does not receive enough reference frames to perform adaptive deinterlacing, it falls back to bob deinterlacing.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE</unmanaged-short>	
        DeinterlaceAdaptive = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>The video processor  can perform motion-compensated deinterlacing.</p> <p><em>Motion-compensated deinterlacing</em> uses motion vectors to recreate missing lines. If the video processor does not receive enough reference frames to perform motion-compensated deinterlacing, it falls back to bob deinterlacing.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION</unmanaged-short>	
        DeinterlaceMotionCompensation = unchecked((int)8),			
        
        /// <summary>	
        /// <dd> <p>The video processor can perform inverse telecine (IVTC).</p> <p> If the video processor supports this capability, the <strong>ITelecineCaps</strong> member of the <strong><see cref="SharpDX.MediaFoundation.DirectX.Vpcaps"/></strong> structure specifies which IVTC modes are supported.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE</unmanaged-short>	
        InverseTelecine = unchecked((int)16),			
        
        /// <summary>	
        /// <dd> <p>The video processor can convert the frame rate by interpolating frames.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION']/*"/>	
        /// <msdn-id>dd318439</msdn-id>	
        /// <unmanaged>DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION</unmanaged>	
        /// <unmanaged-short>DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION</unmanaged-short>	
        FrameRateConversion = unchecked((int)32),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0013']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0013</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0013</unmanaged-short>	
    public enum RenderTargetType : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoDecoderRenderTarget']/*"/>	
        /// <unmanaged>DXVA2_VideoDecoderRenderTarget</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoDecoderRenderTarget</unmanaged-short>	
        VideoDecoder = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcessorRenderTarget']/*"/>	
        /// <unmanaged>DXVA2_VideoProcessorRenderTarget</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcessorRenderTarget</unmanaged-short>	
        VideoProcessor = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoSoftwareRenderTarget']/*"/>	
        /// <unmanaged>DXVA2_VideoSoftwareRenderTarget</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoSoftwareRenderTarget</unmanaged-short>	
        VideoSoftware = unchecked((int)2),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0010']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0010</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0010</unmanaged-short>	
    public enum SampleData : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleData_RFF']/*"/>	
        /// <unmanaged>DXVA2_SampleData_RFF</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleData_RFF</unmanaged-short>	
        RepeatFirstFieldBit = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleData_TFF']/*"/>	
        /// <unmanaged>DXVA2_SampleData_TFF</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleData_TFF</unmanaged-short>	
        TopFieldFirstBit = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleData_RFF_TFF_Present']/*"/>	
        /// <unmanaged>DXVA2_SampleData_RFF_TFF_Present</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleData_RFF_TFF_Present</unmanaged-short>	
        Both = unchecked((int)4),			
    }
    
    /// <summary>	
    /// <p> </p><p>Describes the content of a video sample. These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This enumeration is equivalent to the <strong>DXVA_SampleFormat</strong> enumeration used in DXVA 1.0.</p><p>The following table shows the mapping from <strong><see cref="SharpDX.MediaFoundation.VideoInterlaceMode"/></strong> enumeration values, which are used in Media Foundation media types, to <strong><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat"/></strong> values.</p><table> <tr><th><see cref="SharpDX.MediaFoundation.VideoInterlaceMode"/> Value</th><th><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat"/> Value</th></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.Unknown"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.Unknown"/>.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.Progressive"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.ProgressiveFrame"/>.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.FieldInterleavedUpperFirst"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.FieldInterleavedEvenFirst"/></td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.FieldInterleavedLowerFirst"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.FieldInterleavedOddFirst"/>.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.FieldSingleUpper"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.FieldSingleEven"/>.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.FieldSingleLower"/></td><td><see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.FieldSingleOdd"/>.</td></tr> <tr><td><see cref="SharpDX.MediaFoundation.VideoInterlaceMode.MixedInterlaceOrProgressive"/></td><td>No exact match. Use <see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.FieldInterleavedEvenFirst"/> as an initial value, then use the interlace flags from the media samples. For more information, see Video Interlacing.</td></tr> </table><p>?</p><p>With the exception of <see cref="SharpDX.MediaFoundation.VideoInterlaceMode.MixedInterlaceOrProgressive"/>, each pair of corresponding enumeration values has the same numeric value.</p><p>The value <see cref="SharpDX.MediaFoundation.DirectX.SampleFormat.SubStream"/> has no equivalent in the <strong><see cref="SharpDX.MediaFoundation.VideoInterlaceMode"/></strong> enumeration.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFormat']/*"/>	
    /// <msdn-id>ms699834</msdn-id>	
    /// <unmanaged>DXVA2_SampleFormat</unmanaged>	
    /// <unmanaged-short>DXVA2_SampleFormat</unmanaged-short>	
    public enum SampleFormat : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFormatMask']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleFormatMask</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleFormatMask</unmanaged-short>	
        FormatMask = unchecked((int)255),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleUnknown']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleUnknown</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleUnknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleProgressiveFrame']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleProgressiveFrame</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleProgressiveFrame</unmanaged-short>	
        ProgressiveFrame = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFieldInterleavedEvenFirst']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleFieldInterleavedEvenFirst</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleFieldInterleavedEvenFirst</unmanaged-short>	
        FieldInterleavedEvenFirst = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFieldInterleavedOddFirst']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleFieldInterleavedOddFirst</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleFieldInterleavedOddFirst</unmanaged-short>	
        FieldInterleavedOddFirst = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFieldSingleEven']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleFieldSingleEven</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleFieldSingleEven</unmanaged-short>	
        FieldSingleEven = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleFieldSingleOdd']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleFieldSingleOdd</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleFieldSingleOdd</unmanaged-short>	
        FieldSingleOdd = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SampleSubStream']/*"/>	
        /// <msdn-id>ms699834</msdn-id>	
        /// <unmanaged>DXVA2_SampleSubStream</unmanaged>	
        /// <unmanaged-short>DXVA2_SampleSubStream</unmanaged-short>	
        SubStream = unchecked((int)7),			
    }
    
    /// <summary>	
    /// <p>Specifies the luma key for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To use this state, the device must support luma keying, indicated by the <strong><see cref="SharpDX.MediaFoundation.DirectX.FeatureCaps.LumaKey"/></strong> capability flag. To query for this capability, call <strong><see cref="SharpDX.MediaFoundation.DirectX.HDDevice.GetVideoProcessorDeviceCaps"/></strong>. If the device supports luma keying, it sets the  <strong><see cref="SharpDX.MediaFoundation.DirectX.FeatureCaps.LumaKey"/></strong> flag in the <strong>FeatureCaps</strong> member of the <strong><see cref="SharpDX.MediaFoundation.DirectX.Vpdevcaps"/></strong> structure.</p><p>If the device does not support luma keying, the <strong><see cref="SharpDX.MediaFoundation.DirectX.HDVideoProcessor.SetVideoProcessStreamState"/></strong> method fails for this state.</p><p>If the input format is RGB, the device must also support the <strong><see cref="SharpDX.MediaFoundation.DirectX.InputFormatCaps.RgbLumaKey"/></strong> capability. This capability flag is set in the <strong>InputFormatCaps</strong> member of the <strong><see cref="SharpDX.MediaFoundation.DirectX.Vpdevcaps"/></strong> structure. If the flag is not present, the device ignores the luma key value for RGB input.</p><p>The values of <strong>Lower</strong> and <strong>Upper</strong> give the lower and upper bounds of the luma key, using a nominal range of [0...1]. Given a format with <em>n</em> bits per channel, these values are converted to luma values as follows:</p><p><code>val = f * ((1 &lt;&lt; n)-1)</code></p><p>Any pixel whose luma value falls within the upper and lower bounds (inclusive) is treated as transparent.</p><p>For example, if the pixel format uses 8-bit luma, the upper bound is calculated as follows:</p><p><code>BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)</code></p><p>Note that the value is clamped to the range [0...1] before multiplying by 255.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE']/*"/>	
    /// <msdn-id>dd318766</msdn-id>	
    /// <unmanaged>DXVAHD_STREAM_STATE</unmanaged>	
    /// <unmanaged-short>DXVAHD_STREAM_STATE</unmanaged-short>	
    public enum StreamState : int {	
        
        /// <summary>	
        /// <dd> <p> If <strong>TRUE</strong>, luma keying is enabled. Otherwise, luma keying is disabled. The default value is <strong><see cref="SharpDX.Result.False"/></strong>. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_D3DFORMAT']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_D3DFORMAT</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_D3DFORMAT</unmanaged-short>	
        D3DFORMAT = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>The lower bound for the luma key. The range is [0?1]. The default state value is 0.0. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FRAME_FORMAT']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FRAME_FORMAT</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FRAME_FORMAT</unmanaged-short>	
        FrameFormat = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The upper bound for the luma key. The range is [0?1]. The default state value is 0.0. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE</unmanaged-short>	
        InputColorSpace = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_OUTPUT_RATE']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_OUTPUT_RATE</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_OUTPUT_RATE</unmanaged-short>	
        OutputRate = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_SOURCE_RECT']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_SOURCE_RECT</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_SOURCE_RECT</unmanaged-short>	
        SourceRectangle = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_DESTINATION_RECT']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_DESTINATION_RECT</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_DESTINATION_RECT</unmanaged-short>	
        DestinationRectangle = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_ALPHA']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_ALPHA</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_ALPHA</unmanaged-short>	
        Alpha = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_PALETTE']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_PALETTE</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_PALETTE</unmanaged-short>	
        Palette = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_LUMA_KEY']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_LUMA_KEY</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_LUMA_KEY</unmanaged-short>	
        LumaKey = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_ASPECT_RATIO']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_ASPECT_RATIO</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_ASPECT_RATIO</unmanaged-short>	
        AspectRatio = unchecked((int)9),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS</unmanaged-short>	
        FilterBrightness = unchecked((int)100),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_CONTRAST']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_CONTRAST</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_CONTRAST</unmanaged-short>	
        FilterContrast = unchecked((int)101),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_HUE']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_HUE</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_HUE</unmanaged-short>	
        FilterHue = unchecked((int)102),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_SATURATION']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_SATURATION</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_SATURATION</unmanaged-short>	
        FilterSaturation = unchecked((int)103),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION</unmanaged-short>	
        FilterNoiseReduction = unchecked((int)104),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT</unmanaged-short>	
        FilterEdgeEnhancement = unchecked((int)105),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING</unmanaged-short>	
        FilterAnamorphicScaling = unchecked((int)106),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_STREAM_STATE_PRIVATE']/*"/>	
        /// <msdn-id>dd318766</msdn-id>	
        /// <unmanaged>DXVAHD_STREAM_STATE_PRIVATE</unmanaged>	
        /// <unmanaged-short>DXVAHD_STREAM_STATE_PRIVATE</unmanaged-short>	
        Private = unchecked((int)1000),			
    }
    
    /// <summary>	
    /// <p> </p><p>Describes a DirectX surface type for DirectX Video Acceleration (DXVA).</p>	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SurfaceType']/*"/>	
    /// <msdn-id>ms699850</msdn-id>	
    /// <unmanaged>DXVA2_SurfaceType</unmanaged>	
    /// <unmanaged-short>DXVA2_SurfaceType</unmanaged-short>	
    public enum SurfaceType : int {	
        
        /// <summary>	
        /// <dd> <p>The surface is a decoder render target.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SurfaceType_DecoderRenderTarget']/*"/>	
        /// <msdn-id>ms699850</msdn-id>	
        /// <unmanaged>DXVA2_SurfaceType_DecoderRenderTarget</unmanaged>	
        /// <unmanaged-short>DXVA2_SurfaceType_DecoderRenderTarget</unmanaged-short>	
        SurfaceType_Decoder = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>The surface is a video processor render target.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SurfaceType_ProcessorRenderTarget']/*"/>	
        /// <msdn-id>ms699850</msdn-id>	
        /// <unmanaged>DXVA2_SurfaceType_ProcessorRenderTarget</unmanaged>	
        /// <unmanaged-short>DXVA2_SurfaceType_ProcessorRenderTarget</unmanaged-short>	
        SurfaceType_Processor = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>The surface is a Direct3D texture render target.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_SurfaceType_D3DRenderTargetTexture']/*"/>	
        /// <msdn-id>ms699850</msdn-id>	
        /// <unmanaged>DXVA2_SurfaceType_D3DRenderTargetTexture</unmanaged>	
        /// <unmanaged-short>DXVA2_SurfaceType_D3DRenderTargetTexture</unmanaged-short>	
        D3DRenderTargetTexture = unchecked((int)2),			
    }
    
    /// <summary>	
    /// <p>Specifies the type of video surface created by a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>If the DXVA-HD device is a software plug-in and the surface type is <strong><see cref="SharpDX.MediaFoundation.DirectX.SurfaceTypeHD.VideoInputPrivate"/></strong>, the device can support format types that are not supported natively by the graphics driver. For example, if the application requests an AYUV surface, the device could allocate a surface with a surface type of <strong><see cref="SharpDX.Direct3D9.Format.A8R8G8B8"/></strong>.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_SURFACE_TYPE']/*"/>	
    /// <msdn-id>dd318772</msdn-id>	
    /// <unmanaged>DXVAHD_SURFACE_TYPE</unmanaged>	
    /// <unmanaged-short>DXVAHD_SURFACE_TYPE</unmanaged-short>	
    public enum SurfaceTypeHD : int {	
        
        /// <summary>	
        /// <dd> <p>A surface for an input stream. This surface type is equivalent to an off-screen plain surface in Microsoft Direct3D. The application can use the surface in Direct3D calls.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_SURFACE_TYPE_VIDEO_INPUT']/*"/>	
        /// <msdn-id>dd318772</msdn-id>	
        /// <unmanaged>DXVAHD_SURFACE_TYPE_VIDEO_INPUT</unmanaged>	
        /// <unmanaged-short>DXVAHD_SURFACE_TYPE_VIDEO_INPUT</unmanaged-short>	
        VideoInput = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p>A private surface for an input stream. This surface type is equivalent to an off-screen plain surface, except that the application cannot use the surface in Direct3D calls.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE']/*"/>	
        /// <msdn-id>dd318772</msdn-id>	
        /// <unmanaged>DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE</unmanaged>	
        /// <unmanaged-short>DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE</unmanaged-short>	
        VideoInputPrivate = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p>A surface for an output stream. This surface type is equivalent to an off-screen plain surface in Direct3D. The application can use the surface in Direct3D calls. </p> <p>This surface type is recommended for video processing applications that need to lock the surface and access the surface memory. For video playback with optimal performance, a render-target surface or swap chain is recommended instead.</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT']/*"/>	
        /// <msdn-id>dd318772</msdn-id>	
        /// <unmanaged>DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT</unmanaged>	
        /// <unmanaged-short>DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT</unmanaged-short>	
        VideoOutput = unchecked((int)2),			
    }
    
    /// <summary>	
    /// <p>Describes how chroma values are positioned relative to the luma samples in a YUV video frame. These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The following diagrams show the most common arrangements.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubSampling']/*"/>	
    /// <msdn-id>ms694252</msdn-id>	
    /// <unmanaged>DXVA2_VideoChromaSubSampling</unmanaged>	
    /// <unmanaged-short>DXVA2_VideoChromaSubSampling</unmanaged-short>	
    public enum VideoChromaSubSampling : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsamplingMask']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsamplingMask</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsamplingMask</unmanaged-short>	
        SamplingMask = unchecked((int)15),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_Unknown']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_Unknown</unmanaged-short>	
        SamplingUnknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_ProgressiveChroma']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_ProgressiveChroma</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_ProgressiveChroma</unmanaged-short>	
        SamplingProgressiveChroma = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_Horizontally_Cosited']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_Horizontally_Cosited</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_Horizontally_Cosited</unmanaged-short>	
        SamplingHorizontallyCosited = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_Vertically_Cosited']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_Vertically_Cosited</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_Vertically_Cosited</unmanaged-short>	
        SamplingVerticallyCosited = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes</unmanaged-short>	
        SamplingVerticallyAlignedChromaPlanes = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_MPEG2']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_MPEG2</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_MPEG2</unmanaged-short>	
        SamplingMpeg2 = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_MPEG1']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_MPEG1</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_MPEG1</unmanaged-short>	
        SamplingMpeg1 = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_DV_PAL']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_DV_PAL</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_DV_PAL</unmanaged-short>	
        SamplingDvPal = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoChromaSubsampling_Cosited']/*"/>	
        /// <msdn-id>ms694252</msdn-id>	
        /// <unmanaged>DXVA2_VideoChromaSubsampling_Cosited</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoChromaSubsampling_Cosited</unmanaged-short>	
        SamplingCosited = unchecked((int)7),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0009']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0009</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0009</unmanaged-short>	
    public enum VideoDeviceCapabilities : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VPDev_HardwareDevice']/*"/>	
        /// <unmanaged>DXVA2_VPDev_HardwareDevice</unmanaged>	
        /// <unmanaged-short>DXVA2_VPDev_HardwareDevice</unmanaged-short>	
        HardwareDevice = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VPDev_EmulatedDXVA1']/*"/>	
        /// <unmanaged>DXVA2_VPDev_EmulatedDXVA1</unmanaged>	
        /// <unmanaged-short>DXVA2_VPDev_EmulatedDXVA1</unmanaged-short>	
        EmulatedDXVA1 = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VPDev_SoftwareDevice']/*"/>	
        /// <unmanaged>DXVA2_VPDev_SoftwareDevice</unmanaged>	
        /// <unmanaged-short>DXVA2_VPDev_SoftwareDevice</unmanaged-short>	
        SoftwareDevice = unchecked((int)4),			
    }
    
    /// <summary>	
    /// <p>Describes the intended lighting conditions for viewing video content. These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This enumeration is equivalent to the <strong>DXVA_VideoLighting</strong> enumeration used in DXVA 1.0.</p><p>If you are using the <strong><see cref="SharpDX.MediaFoundation.MediaType"/></strong> interface to describe the video format, the video lighting is specified in the <strong><see cref="SharpDX.MediaFoundation.MediaTypeAttributeKeys.VideoLighting"/></strong> attribute.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting']/*"/>	
    /// <msdn-id>ms703932</msdn-id>	
    /// <unmanaged>DXVA2_VideoLighting</unmanaged>	
    /// <unmanaged-short>DXVA2_VideoLighting</unmanaged-short>	
    public enum VideoLighting : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLightingMask']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLightingMask</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLightingMask</unmanaged-short>	
        Mask = unchecked((int)15),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting_Unknown']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLighting_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLighting_Unknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting_bright']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLighting_bright</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLighting_bright</unmanaged-short>	
        Bright = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting_office']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLighting_office</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLighting_office</unmanaged-short>	
        Office = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting_dim']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLighting_dim</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLighting_dim</unmanaged-short>	
        Dim = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoLighting_dark']/*"/>	
        /// <msdn-id>ms703932</msdn-id>	
        /// <unmanaged>DXVA2_VideoLighting_dark</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoLighting_dark</unmanaged-short>	
        Dark = unchecked((int)4),			
    }
    
    /// <summary>	
    /// <p>Specifies the color primaries of a video source. These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>Color primaries define how to convert RGB colors into the CIE XYZ color space, and can be used to translate colors between different RGB color spaces. An RGB color space is defined by the chromaticity coordinates (x,y) of the RGB primaries plus the white point, as listed in the following table.</p><table> <tr><th>Color space</th><th>(Rx, Ry)</th><th>(Gx, Gy)</th><th>(Bx, By)</th><th>White point (Wx, Wy)</th></tr> <tr><td>BT.709</td><td>(0.64, 0.33)</td><td>(0.30, 0.60)</td><td>(0.15, 0.06)</td><td> D65 (0.3127, 0.3290) </td></tr> <tr><td> BT.470-2 System M; EBU 3212 </td><td>(0.64, 0.33)</td><td>(0.29, 0.60)</td><td>(0.15, 0.06)</td><td> D65 (0.3127, 0.3290) </td></tr> <tr><td>BT.470-4 System B,G</td><td>(0.67, 0.33)</td><td>(0.21, 0.71)</td><td>(0.14, 0.08)</td><td> CIE III.C (0.310, 0.316) </td></tr> <tr><td> SMPTE 170M; SMPTE 240M; SMPTE C </td><td>(0.63, 0.34)</td><td>(0.31, 0.595)</td><td>(0.155, 0.07)</td><td> D65 (0.3127, 0.3291) </td></tr> </table><p>?</p><p>The z coordinates can be derived from x and y as follows: z = 1 - x - y. To convert between RGB colors to CIE XYZ tristimulus values, compute a matrix <em>T</em> as follows:</p><p>Given <em>T</em>, you can use the following formulas to convert between an RGB color value and a CIE XYZ tristimulus value. These formulas assume that the RGB components are linear (not gamma corrected) and are normalized to the range [0...1].</p><p>To convert colors directly from one RGB color space to another, use the following formula, where <em>T1</em> is the matrix for color space RGB1, and <em>T2</em> is the matrix for color space RGB2.</p><p>For a derivation of these formulas, refer to Charles Poynton, Digital Video and HDTV Algorithms and Interfaces (Morgan Kaufmann, 2003).</p><p> This enumeration is equivalent to the <strong>DXVA_VideoPrimaries</strong> enumeration used in DXVA 1.0. </p><p> If you are using the <strong><see cref="SharpDX.MediaFoundation.MediaType"/></strong> interface to describe the video format, the color primaries are specified in the <strong><see cref="SharpDX.MediaFoundation.MediaTypeAttributeKeys.VideoPrimaries"/></strong> attribute. </p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries']/*"/>	
    /// <msdn-id>ms696997</msdn-id>	
    /// <unmanaged>DXVA2_VideoPrimaries</unmanaged>	
    /// <unmanaged-short>DXVA2_VideoPrimaries</unmanaged-short>	
    public enum VideoPrimaries : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimariesMask']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimariesMask</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimariesMask</unmanaged-short>	
        Mask = unchecked((int)31),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_Unknown']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_Unknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_reserved']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_reserved</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_reserved</unmanaged-short>	
        Reserved = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_BT709']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_BT709</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_BT709</unmanaged-short>	
        Bt709 = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_BT470_2_SysM']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_BT470_2_SysM</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_BT470_2_SysM</unmanaged-short>	
        Bt4702SysM = unchecked((int)3),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_BT470_2_SysBG']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_BT470_2_SysBG</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_BT470_2_SysBG</unmanaged-short>	
        Bt4702SysBG = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_SMPTE170M']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_SMPTE170M</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_SMPTE170M</unmanaged-short>	
        Smpte170m = unchecked((int)5),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_SMPTE240M']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_SMPTE240M</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_SMPTE240M</unmanaged-short>	
        Smpte240m = unchecked((int)6),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_EBU3213']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_EBU3213</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_EBU3213</unmanaged-short>	
        Ebu3213 = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoPrimaries_SMPTE_C']/*"/>	
        /// <msdn-id>ms696997</msdn-id>	
        /// <unmanaged>DXVA2_VideoPrimaries_SMPTE_C</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoPrimaries_SMPTE_C</unmanaged-short>	
        SmpteC = unchecked((int)8),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0008']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0008</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0008</unmanaged-short>	
    public enum VideoProcessorOperations : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_None']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_None</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_None</unmanaged-short>	
        None = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_YUV2RGB']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_YUV2RGB</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_YUV2RGB</unmanaged-short>	
        Yuv2rgb = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_StretchX']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_StretchX</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_StretchX</unmanaged-short>	
        StretchX = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_StretchY']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_StretchY</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_StretchY</unmanaged-short>	
        StretchY = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_AlphaBlend']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_AlphaBlend</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_AlphaBlend</unmanaged-short>	
        AlphaBlend = unchecked((int)8),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_SubRects']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_SubRects</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_SubRects</unmanaged-short>	
        SubRects = unchecked((int)16),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_SubStreams']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_SubStreams</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_SubStreams</unmanaged-short>	
        SubStreams = unchecked((int)32),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_SubStreamsExtended']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_SubStreamsExtended</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_SubStreamsExtended</unmanaged-short>	
        SubStreamsExtended = unchecked((int)64),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_YUV2RGBExtended']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_YUV2RGBExtended</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_YUV2RGBExtended</unmanaged-short>	
        YUV2RGBExtended = unchecked((int)128),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_AlphaBlendExtended']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_AlphaBlendExtended</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_AlphaBlendExtended</unmanaged-short>	
        AlphaBlendExtended = unchecked((int)256),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_Constriction']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_Constriction</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_Constriction</unmanaged-short>	
        Constriction = unchecked((int)512),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_NoiseFilter']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_NoiseFilter</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_NoiseFilter</unmanaged-short>	
        NoiseFilter = unchecked((int)1024),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_DetailFilter']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_DetailFilter</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_DetailFilter</unmanaged-short>	
        DetailFilter = unchecked((int)2048),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_PlanarAlpha']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_PlanarAlpha</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_PlanarAlpha</unmanaged-short>	
        PlanarAlpha = unchecked((int)4096),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_LinearScaling']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_LinearScaling</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_LinearScaling</unmanaged-short>	
        LinearScaling = unchecked((int)8192),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_GammaCompensated']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_GammaCompensated</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_GammaCompensated</unmanaged-short>	
        GammaCompensated = unchecked((int)16384),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoProcess_MaintainsOriginalFieldData']/*"/>	
        /// <unmanaged>DXVA2_VideoProcess_MaintainsOriginalFieldData</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoProcess_MaintainsOriginalFieldData</unmanaged-short>	
        MaintainsOriginalFieldData = unchecked((int)32768),			
    }
    
    /// <summary>	
    /// No documentation.	
    /// </summary>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='__MIDL___MIDL_itf_dxva2api_0000_0000_0007']/*"/>	
    /// <unmanaged>__MIDL___MIDL_itf_dxva2api_0000_0000_0007</unmanaged>	
    /// <unmanaged-short>__MIDL___MIDL_itf_dxva2api_0000_0000_0007</unmanaged-short>	
    public enum VideoProcessorSettings : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ProcAmp_None']/*"/>	
        /// <unmanaged>DXVA2_ProcAmp_None</unmanaged>	
        /// <unmanaged-short>DXVA2_ProcAmp_None</unmanaged-short>	
        None = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ProcAmp_Brightness']/*"/>	
        /// <unmanaged>DXVA2_ProcAmp_Brightness</unmanaged>	
        /// <unmanaged-short>DXVA2_ProcAmp_Brightness</unmanaged-short>	
        Brightness = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ProcAmp_Contrast']/*"/>	
        /// <unmanaged>DXVA2_ProcAmp_Contrast</unmanaged>	
        /// <unmanaged-short>DXVA2_ProcAmp_Contrast</unmanaged-short>	
        Contrast = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ProcAmp_Hue']/*"/>	
        /// <unmanaged>DXVA2_ProcAmp_Hue</unmanaged>	
        /// <unmanaged-short>DXVA2_ProcAmp_Hue</unmanaged-short>	
        Hue = unchecked((int)4),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_ProcAmp_Saturation']/*"/>	
        /// <unmanaged>DXVA2_ProcAmp_Saturation</unmanaged>	
        /// <unmanaged-short>DXVA2_ProcAmp_Saturation</unmanaged-short>	
        Saturation = unchecked((int)8),			
    }
    
    /// <summary>	
    /// <p>Specifies the conversion function from linear RGB to non-linear RGB (R'G'B'). These flags are used in the <see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/> Structure. </p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The following table shows the formulas for the most common transfer functions. In these formulas, L is the linear value and L' is the non-linear (gamma corrected) value. These values are relative to a normalized range [0...1].</p><table> <tr><th>Color space</th><th>Transfer function</th></tr> <tr><td>sRGB (8-bit)</td><td> <p>L' = 12.92L, for L &lt; 0.031308</p> <p>L' = 1.055L^1/2.4? 0.055, for L &gt;= 0.031308</p> </td></tr> <tr><td>BT.470-2 System B, G</td><td>L' = L^0.36</td></tr> <tr><td>BT.470-2 System M</td><td>L' = L^0.45</td></tr> <tr><td>BT.709</td><td> <p>L' = 4.50L, for L &lt; 0.018</p> <p>L' = 1.099L^0.45? 0.099, for L &gt;= 0.018</p> </td></tr> <tr><td>scRGB</td><td>L' = L</td></tr> <tr><td>SMPTE 240M</td><td> <p>L' = 4.0L, for L &lt; 0.0228</p> <p>L' = 1.1115L^0.45? 0.01115, for L &gt;= 0.0228</p> </td></tr> </table><p>?</p><p>The following table shows the inverse formulas to obtain the original gamma-corrected values:</p><table> <tr><th>Color space</th><th>Transfer function</th></tr> <tr><td>sRGB (8-bit)</td><td> <p>L = 1/12.92L', for L' &lt; 0.03928</p> <p>L = ((L' + 0.055)/1055)^2.4, for L' &gt;= 0.03928</p> </td></tr> <tr><td>BT.470-2 System B, G</td><td>L = L'^1/0.36</td></tr> <tr><td>BT.470-2 System M</td><td>L = L'^1/0.45</td></tr> <tr><td>BT.709</td><td> <p>L = L'/4.50, for L' &lt; 0.081</p> <p>L = ((L' + 0.099) / 1.099)^1/0.45, for L' &gt;= 0.081</p> </td></tr> <tr><td>scRGB</td><td>L = L'</td></tr> <tr><td>SMPTE 240M</td><td> <p>L = L'/4.0, for L' &lt; 0.0913</p> <p>L= ((L' + 0.1115)/1.1115)^1/0.45, for L' &gt;= 0.0913</p> </td></tr> </table><p>?</p><p>This enumeration is equivalent to the <strong>DXVA_VideoTransferFunction</strong> enumeration used in DXVA 1.0.</p><p>If you are using the <strong><see cref="SharpDX.MediaFoundation.MediaType"/></strong> interface to describe the video format, the transfer function is specified in the <strong><see cref="SharpDX.MediaFoundation.MediaTypeAttributeKeys.TransferFunction"/></strong> attribute.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferFunction']/*"/>	
    /// <msdn-id>bb970392</msdn-id>	
    /// <unmanaged>DXVA2_VideoTransferFunction</unmanaged>	
    /// <unmanaged-short>DXVA2_VideoTransferFunction</unmanaged-short>	
    public enum VideoTransferFunction : int {	
        
        /// <summary>	
        /// <dd> <p> Bitmask to validate flag values. This value is not a valid flag. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFuncMask']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFuncMask</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFuncMask</unmanaged-short>	
        FuncMask = unchecked((int)31),			
        
        /// <summary>	
        /// <dd> <p> Unknown. Treat as <see cref="SharpDX.MediaFoundation.DirectX.VideoTransferFunction.Func709"/>. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_Unknown']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_Unknown</unmanaged-short>	
        FuncUnknown = unchecked((int)0),			
        
        /// <summary>	
        /// <dd> <p> Linear RGB (gamma = 1.0). </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_10']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_10</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_10</unmanaged-short>	
        Func10 = unchecked((int)1),			
        
        /// <summary>	
        /// <dd> <p> True 1.8 gamma, L' = L^1/1.8. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_18']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_18</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_18</unmanaged-short>	
        Func18 = unchecked((int)2),			
        
        /// <summary>	
        /// <dd> <p> True 2.0 gamma, L' = L^1/2.0. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_20']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_20</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_20</unmanaged-short>	
        Func20 = unchecked((int)3),			
        
        /// <summary>	
        /// <dd> <p> True 2.2 gamma, L' = L^1/2.2. This transfer function is used in ITU-R BT.470-2 System M (NTSC). </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_22']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_22</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_22</unmanaged-short>	
        Func22 = unchecked((int)4),			
        
        /// <summary>	
        /// <dd> <p>ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range. This transfer function is used in BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, and SMPTE 274M. In addition BT-1361 uses this function within the range [0...1].</p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_709']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_709</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_709</unmanaged-short>	
        Func709 = unchecked((int)5),			
        
        /// <summary>	
        /// <dd> <p> SMPTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_240M']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_240M</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_240M</unmanaged-short>	
        Func240m = unchecked((int)6),			
        
        /// <summary>	
        /// <dd> <p> sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range. </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_sRGB']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_sRGB</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_sRGB</unmanaged-short>	
        FuncSRGB = unchecked((int)7),			
        
        /// <summary>	
        /// <dd> <p> True 2.8 gamma. L' = L^1/2.8. This transfer function is used in ITU-R BT.470-2 System B, G (PAL). </p> </dd>	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransFunc_28']/*"/>	
        /// <msdn-id>bb970392</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransFunc_28</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransFunc_28</unmanaged-short>	
        Func28 = unchecked((int)8),			
    }
    
    /// <summary>	
    /// <p>Describes the conversion matrices between Y'PbPr (component video) and studio R'G'B'. These flags are used in the <strong><see cref="SharpDX.MediaFoundation.DirectX.ExtendedFormat"/></strong> structure.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The transfer matrices are defined as follows.</p><p>BT.709 transfer matrices:</p><code>Y'        0.212600    0.715200    0.072200       R' 	
    /// Pb   =   -0.114572   -0.385428    0.500000   x   G' 	
    /// Pr        0.500000   -0.454153   -0.045847       B'  R'        1.000000    0.000000    1.574800       Y' 	
    /// G'   =    1.000000   -0.187324   -0.468124   x   Pb 	
    /// B'        1.000000    1.855600    0.000000       Pr 	
    /// </code><p>BT.601 transfer matrices:</p><code>Y'        0.299000    0.587000    0.114000       R' 	
    /// Pb   =   -0.168736   -0.331264    0.500000   x   G' 	
    /// Pr        0.500000   -0.418688   -0.081312       B'  R'        1.000000    0.000000    1.402000       Y' 	
    /// G'   =    1.000000   -0.344136   -0.714136   x   Pb 	
    /// B'        1.000000    1.772000    0.000000       Pr 	
    /// </code><p>SMPTE 240M (SMPTE RP 145) transfer matrices:</p><code>Y'        0.212000    0.701000    0.087000       R' 	
    /// Pb   =   -0.116000   -0.384000    0.500000   x   G' 	
    /// Pr        0.500000   -0.445000   -0.055000       B'  R'        1.000000   -0.000000    1.576000       Y' 	
    /// G'   =    1.000000   -0.227000   -0.477000   x   Pb 	
    /// B'        1.000000    1.826000    0.000000       Pr 	
    /// </code><p>This enumeration is equivalent to the <strong>DXVA_VideoTransferMatrix</strong> enumeration used in DXVA 1.0.</p><p>If you are using the <strong><see cref="SharpDX.MediaFoundation.MediaType"/></strong> interface to describe the video format, the video transfer matrix is specified in the <strong><see cref="SharpDX.MediaFoundation.MediaTypeAttributeKeys.YuvMatrix"/></strong> attribute.</p>	
    /// </remarks>	
    /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrix']/*"/>	
    /// <msdn-id>ms698715</msdn-id>	
    /// <unmanaged>DXVA2_VideoTransferMatrix</unmanaged>	
    /// <unmanaged-short>DXVA2_VideoTransferMatrix</unmanaged-short>	
    public enum VideoTransferMatrix : int {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrixMask']/*"/>	
        /// <msdn-id>ms698715</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransferMatrixMask</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransferMatrixMask</unmanaged-short>	
        Mask = unchecked((int)7),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrix_Unknown']/*"/>	
        /// <msdn-id>ms698715</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransferMatrix_Unknown</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransferMatrix_Unknown</unmanaged-short>	
        Unknown = unchecked((int)0),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrix_BT709']/*"/>	
        /// <msdn-id>ms698715</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransferMatrix_BT709</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransferMatrix_BT709</unmanaged-short>	
        Bt709 = unchecked((int)1),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrix_BT601']/*"/>	
        /// <msdn-id>ms698715</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransferMatrix_BT601</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransferMatrix_BT601</unmanaged-short>	
        Bt601 = unchecked((int)2),			
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='..\..\Documentation\CodeComments.xml' path="/comments/comment[@id='DXVA2_VideoTransferMatrix_SMPTE240M']/*"/>	
        /// <msdn-id>ms698715</msdn-id>	
        /// <unmanaged>DXVA2_VideoTransferMatrix_SMPTE240M</unmanaged>	
        /// <unmanaged-short>DXVA2_VideoTransferMatrix_SMPTE240M</unmanaged-short>	
        Smpte240m = unchecked((int)3),			
    }
}
#endif